#!/usr/bin/env python3
# coding: utf-8
# File: chatbot_graph.py
# Author: lhy<lhy_in_blcu@126.com,https://huangyong.github.io>
# Date: 18-10-4

# 问答程序脚本
# from algorithm.question_classifier import *
# from algorithm.question_parser import *
# from algorithm.answer_search import *
from question_classifier import *
from question_parser import *  # 你只能导入一个模块或者导入一个函数或者类，你不能导入一个文件夹
from answer_search import *  # 一个模块中所有函数都导入进来，直接使用函数就可以了；注因为已经知道该函数是那个模块中的了

'''问答类'''


class ChatBotGraph:
    def __init__(self):  # 定义，构造器
        self.classifier = QuestionClassifier()  # 问题分类子函数
        self.parser = QuestionPaser()  # 问题解析子函数
        self.searcher = AnswerSearcher()  # 问题搜索子函数
        print('进入了ChatBot')

    def chat_main(self, sent):
        # CureAI
        ans = '您好，我是医药智能助理WTcrazyAI，希望可以帮到您。祝您工作顺利，身体健康^_^'
        res_classify = self.classifier.classify(sent)  # 对问句内容sent分类
        if not res_classify:
            return ans  # 没找道对应分类，返回初始答案
        res_sql = self.parser.parser_main(res_classify)  # 对内容解析
        final_answers = self.searcher.search_main(res_sql)  # 对内容搜索合适的答案
        if not final_answers:
            return ans  # 如果没找到答案，返回初始答案
        else:
            return '\n'.join(final_answers)  # 连接字符

# if __name__ == '__main__':
#     handler = ChatBotGraph()
#     while 1:
#         question = input('QUESTION:')
#         answer = handler.chat_main(question)
#         print('WTcrazy:', answer)
